Description
Retrieves the information pertaining to the currently logged in user, and places it in the global variable $current_user. Properties map directly to the wp_users table in the database (seeDatabase Description).
Also places the individual attributes into the following separate global variables:
-
- $user_login
- $user_ID (Equal $current_user->ID, not $current_user->user_ID)
- $user_email
- $user_url (User’s website, as entered in the user’s Profile)
- $user_pass (The phpass hash of the user password – useful for comparing input at a password prompt with the actual user password.)
- $display_name (User’s name, displayed according to the ‘How to display name’ User option)
- $user_identity (User’s name, displayed according to the ‘How to display name’ User option (since 3.0))
Usage
<?php get_currentuserinfo(); ?>
Examples
Default Usage
The call to get_currentuserinfo() places the current user’s info into $current_user, where it can be retrieved using member variables.
<?php global $current_user; get_currentuserinfo(); echo 'Username: ' . $current_user->user_login . "n"; echo 'User email: ' . $current_user->user_email . "n"; echo 'User first name: ' . $current_user->user_firstname . "n"; echo 'User last name: ' . $current_user->user_lastname . "n"; echo 'User display name: ' . $current_user->display_name . "n"; echo 'User ID: ' . $current_user->ID . "n"; ?>
User first name: John
User last name: Doe
User display name: John Doe
User ID: 1
Using Separate Globals
Much of the user data is placed in separate global variables, which can be accessed directly.
<?php global $display_name , $user_email; get_currentuserinfo(); echo $display_name . "'s email address is: " . $user_email; ?>
NOTE: $display_name does not appear to work in 2.5+? Use $user_identity
<?php global $user_login , $user_email; get_currentuserinfo(); echo($user_login . "'s email address is: " . $user_email; ?>
Parameters
This function does not accept any parameters.
To determine if there is a user currently logged in, do this:
<?php if(!is_user_logged_in()) { //no user logged in } ?>
Here is another example:
<?php if ( is_user_logged_in() ) { ?> <!-- text that logged in users will see --> <?php } else { ?> <!-- here is a paragraph that is shown to anyone not logged in --> <p>By <a href="<?php home_url(); ?>/wp-register.php">registering</a>, you can save your favorite posts for future reference.</p> <?php } ?>
Here is yet another example using logical conditionals to restrict access to pages:
<?php if ($current_user->user_login == 'the_username') { ?> <!-- Welcome the user or show the page content --> <h1>Welcome <?php echo $current_user->user_firstname ?></h1> <?php } else { ?> <!-- Let the visitor know access is denied --> <h1>Go away!</h1> <?php } ?>